//
// Created by sgyt on 2019/12/24.
// stat,fstat,fstatat,lstat
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>

int main(int argc,char *argv[])
{
    struct stat st;
    int flag = stat("/opt",&st);
    if(flag < 0)
    {
        perror("stat error");
        return -1;
    }
    //使用进制判断
    if((st.st_mode & S_IFREG) == S_IFREG)
    {
        printf("regular file\n");
    }
    if((st.st_mode & S_IFDIR) == S_IFDIR)
    {
        printf("dir file \n");
    }

    //使用宏函数 判断是哪种文件
    if(S_ISREG(st.st_mode))
    {
        printf("regular file\n");
    }
    if(S_ISDIR(st.st_mode))
    {
        printf("dir file \n");
    }

    return 1;
}
